<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>HNU图书管理系统代码评价</h1>
    <del>A Piece of Shit</del> 😅
    <h2>😈 危险用法</h2>
<ul>
<li>使用while (1)<b>死循环</b>💀，且没有break条件</li>
<code>
<p>
while (1) {
<br>&nbsp; run();
<br>}
</code>
</p>


<li>将密码等重要信息随意放在<b>public</b>中</li>
<li>为图方便将所有书籍信息分开保存，使得代码<b>可拓展性大大降低</b>，且<b>难以维护</b></li>
<li>添加用户时的中间文件没删除，导致程序跑个几次就没法运行了……😅</li>
<li>头文件重复添加，只要有报错就添加头文件</li>
</ul>

<h2>🪧 代码规范</h2>

<h3> 1. 优点</h3>

<ul>
<li>{} 风格统一</li>
<li>美观合理的缩进</li>
<li>空格、空行使用合理</li>
</ul>

<b>空格使用规则</b>
<ol>
<li>关键字（保留字）之后大都需要空格</li>
<li>赋值运算符、关系运算符、算术运算符、逻辑运算符、位运算符如 =、==、！=、+=、－=、*=、/=、%=、>>=、<<=、&=、=、|=、>、<=、>、>=、+、－、*、/、%、&、|、&&、||、<<、>>、 等双目运算符的前后应当加空格</li>
<li>单目运算符 !、~、++、－－、－、*、& 等前后不加空格</li>
<li>像数组符号[]、结构体成员运算符.、指向结构体成员运算符->，这类操作符前后不加空格</li>
<li>对于表达式比较长的 for 语句和 if 语句，为了紧凑起见，可以适当地去掉⼀些空格。但 for 和 if 后面紧跟的空格不可以删，其后面的语句可以根据语句的长度适当地去掉⼀些空格</li>
</ol>

<h3> 2. 缺点</h3>

<ul>
<li>变量命名随意，不清晰</li>
<li>注释都写在同行</li>
<li>没有遵循<b>命名规范</b></li>
</ul>

<b>命名规范</b>
<ol>
<li>语义命名</li>
<li><b>常量</b>全⼤写/⼤驼峰命名</li>
<li><b>变量</b>⼩驼峰命名</li>
<li><b>类型</b>大驼峰命名</li>
<li><b>函数</b>动词+名词语义命名</li>
</ol>

<h2>💡 总结</h2>

<del>我对于写出这坨Shit表示深深地忏悔</del>
<p>
在此次评价回顾之后，深刻认识到了自己之前写代码时有很多不良习惯，今后务必将代码规范牢记，争取成为只会喷人不会被喷的程序员🙂
</p>

</body>
</html>